perm filename NOTES.R[DOC,TOB]3 blob sn#025112 filedate 1973-02-14 generic text, type T, neo UTF8
00100	Vision as a description process, not vision as a data reduction process.
00200	Not what to forget, but what is worth remembering?  In what form is
00300	it worth remembering?  Only that which can be made sense of is worth
00400	saving.  I.E., descriptions, some images (for motion parallax).  Most
00500	images have no worth for later times, since they will not reappear
00600	in just that way, although parts of them might and may be saved as such.
     

00100	Waltz
00200		edge labels
00300			convex
00400			concave
00500			obscuring
00600			shadow (planar)
00700			crack  (planar)
00800		illumination labels
00900			illuminated
01000			shadowed
01100			self-shadowed (facing away from the light source)
01200	
01300		consistency conditions
01400			a line must have the same label from vertices at both
01500			ends.  Thus, the possible labels for a line are the
01600			intersections of the labels for vertices at both ends.
01700			The possible labels for a vertex are the interpretations
01800			which have consistent line labels for all lines.  Possible
01900			interpretations for a cycle of vertices around a region
02000			assign consistent line assignments and illumination
02100			assignments.
02200	
     

00100	Guzman
00200		Roberts used concavities and T's to guess unobscured and obscured
00300		faces of polyhedra in order to fit template models to line-drawing
00400		data. [TOB note: he could have done better by fitting lines than
00500		by fitting points].
00600		Guzman departed from template fitting to separate objects in some
00700		reasonably complex scenes of polyhedra.  He used local evidence
00800		from some vertices to link regions.  Doubly linked regions were
00900		joined as objects, and any regions linked twice to these objects
01000		were joined, iteratively.  Double linking eliminated some errors
01100		in joining, but had to be followed by a joining of regions linked
01200		by a weak and strong link, or single regions linked only to the
01300		body.
01400		The primary links were given by three-line-vertices which were
01500		not a T (indicating obscuration), between regions which had no
01600		concavity (it also inhibited links depending on the background).
01700	 A refinement inhibited links if either region was
01800		concave or had an angle of pi at the next vertex along the common
01900		line.  Thus the system really depended on concavity,
02000		and on knowledge of the background (given from outside).
02100			Links
02200				Y
02300				Arrow
02400				X 
02500				Peak
02600				matching T's
02700			Local Links
02800				Legs
02900				Triangles
03000	
03100			SMB links
03200			
03300		When did it do badly?	Holes and other non-convex features,
03400		accidental alignment, buried vertices.
03500	Objections
03600		did not work very well
03700		was not extendable despite a lot of work
03800		was a cookbook; gave no semantics
03900		required being told background
     

00100	ROBERTS
00200		3-D SCENES
00300		COMPLETE SYSTEM
00400		USED 3-D MODELS WITH PART/WHOLE SEGMENTATION
00500		BASED ON MATCHING, NOT ON SEGMENTATION BASED ON DEPTH CUES
00600		ASSUMED PERFECT LINE DRAWING
00700		SEPARATION OF HIGH LEVEL AND LOW LEVEL
00800		LINE FINDER AND ORGANIZER PASS-ORIENTED
00900			SUCCESSIVELY MORE GLOBAL
01000			FAIRLY WELL DONE
01100		SOME CAPABILITY WITH OBSCURED OBJECTS
01200	
01300	
01400	
01500	OBTAIN LINES
01600		GRADIENT THRESHOLDED, MAX SAMPLE ON A 4X4 NBHD
01700			T=IMAX/10
01800		CORRELATE WITH LOCAL LINES IN 4 DIRECTIONS
01900			REQUIRE BEST/WORST>3
02000		CONNECT LINE FRAGMENTS
02100			ADJACENT 4X4 NBHDS
02200			LINE WITHIN 23 DEGREES OF BOTH FRAGMENTS
02300		ELIMINATE UNCONNECTED FRAGMENTS
02400		REDUCE LOOPS OF 3 AND 4 FRAGMENTS
02500		LONGER CONNECTIONS-SINGLY CONNECTED
02600		SEQUENTIAL EXTENSION WITH LEAST SQUARES TO DETERMINE CORNERS
02700			RMS ERROR TEST, BACKUP
02800			EXTEND IN OTHER DIRECTION
02900		LINE MERGING AND GAP BRIDGING
03000	
03100	POLYGON PROCESSING
03200		LINES
03300		LINK TOGETHER NEARBY END POINTS, ORDERED BY ANGLE
03400		INTERIOR AND EXTERIOR (SUM OF ANGLES)
03500			CONCAVITIES
03600			T'S
03700		SELECT "COMPLETE POLYGONS", W/O CONCAVITIES, W/O STEMS OF T'S
03800			MODELS HAVE 3,4,6 SIDED POLYGONS
03900	
04000	MODEL MATCHING
04100		POINT BOUNDED BY COMPLETE POLYGONS	N3,N4,N6 ORDERED LIST
04200		LINE BOUNDED BY TWO COMPLETE POLYGONS
04300		COMPLETE POLYGON W/ EXTRA LINE
04400		POINT W/ 3 LINES
04500	
04600		DETERMINE THE BEST TRANSFORMATION FROM THE MODEL TO THE
04700		DATA POINTS, MEASURED BY AN RMS ERROR, AND SUCH THAT NO MODEL
04800		POINTS LIE OUTSIDE THE BOUNDARIES OF THE OBJECT, SINCE THEY
04900		WOULD GIVE RISE TO NEW LINES.
05000	
05100			DESCRIBES OBJECTS BY SUCCESSIVELY RECOGNIZING PARTS
05200			WHICH ARE AMONG HIS MODELS AND DESCRIBING WHAT IS
05300			LEFT.  HIS MODELS ARE RIGHT PRISMS OF 3,4,6 FACES,
05400			IE, BLOCKS, WEDGES, AND HEXAGONAL PRISMS.
05500	
05600		TO RELATE A MODEL TO IMAGE PTS, FIND A MATRIX H
05700		AND A DIAGONAL MATRIX D SUCH THAT FOR MODEL PTS A
05800		AND IMAGE PTS B
05900			AH=DB
06000			A=(A11,A12,A13,A14)  ROW VECTOR OF FIRST MODEL POINT
06100			  (A21,A22,A23,A24)  ROW VECTOR OF SECOND MODEL POINT
06200			  ................
06300	
06400			H=(H11,H12,H13)
06500			  (H21,H22,H23)
06600			  (H31,H32,H33)
06700			  (H41,H42,H43)
06800	
06900			B=(B11,B12,B13)  ROW VECTOR OF FIRST POINT
07000			  (B21,B22,B23)	 ROW VECTOR OF SECOND IMAGE POINT
07100			  ...........
07200	
07300		NOTE THAT HE USES POSTMULTIPLICATION AND ROW VECTORS.
07400	
07500		THE MATRIX H IS RESTRICTED SOMEWHAT IN AN AD HOC FASHION.
07600		DETERMINE A MATRIX R WHICH IS SUCH THAT
07700			H=RP	WHERE P IS A PROJECTION
07800		THEN  	R=H*INV(P) WHERE INV(P) IS INVERSE OF P.
07900		R IS A 4X4 MATRIX WHICH HAS 15 DEGREES OF FREEDOM
08000		WE WANT TO ALLOW TRANSLATION, ROTATION, AND SCALING
08100		ALONG 3 AXES; NINE DEGREES OF FREEDOM.  THE OTHER
08200		SIX DEGREES OF FREEDOM CORRESPOND TO SKEW (CUBE TO PARALLELIPIPED)
08300		AND PERSPECTIVE (COMPRESSION OF ONE END OF MODEL).  WE
08400		IGNORE SKEW AND PERSPECTIVE.  WE REQUIRE THE PERSPECTIVE COLUMN
08500		OF THE TRANSFORM R TO BE ZERO, AND INCORPORATE ALL PERSPECTIVE IN
08600		A SINGLE PERSPECTIVE TRANSFORM P.
08700		REQUIRING ZERO SKEW IS EQUIVALENT TO REQUIRING THAT THE 3X3 SUBMATRIX
08800		BE ORTHOGONAL (IE A ROTATION).  
08900	SUPPORT
09000		THE ANGLES OF PLANES IS KNOWN.  EACH PLANE TESTED:
09100			NOT VISIBLE
09200			DOWNWARD Z DIRECTION
09300			APPROXIMATELY HRIZONTAL
09400		CHOOSE BEST PLANE FOR EACH OBJECT.  SHOULD BE SAME ORIENTATION
09500		FOR ALL OBJECTS IN PICTURE.
09600	
     

00100	Minsky and Papert	AI Memo 252
00200	
00300	"blocks world" robotics environment and children's stories better suited
00400		to these studies than puzzle, game, and theorem-proving environments
00500	Thinking is based on the use of SYMBOLIC DESCRIPTIONS and description-
00600	manipulating processes to represent a variety of kinds of KNOWLEDGE--
00700	about facts, about processes, about problem-solving, and about computation
00800	itself, in  ways that are subject to HETERARCHICAL CONTROL STRUCTURES--
00900	systems in which control of the problem-solving programs is affected by
01000	heuristics which depend on the meanings of events.
01100	
01200	The ability to solve new problems ultimately requires the intelligent
01300	agent to conceive, debug, and execute new procedures.  Such an agent
01400	must know to a greater or lesser extent how to plan, produce, test,
01500	modify, and adapt procedures; in short, it must know a lot about
01600	computational processes.  We are not saying that an intelligent machine,
01700	or person, must have such knowledge available at the level of overt
01800	statements or consciousness, but we maintain that the equivalent of such
01900	knowledge must be represented in an effective way somewhere in the
02000	system.
02100	
02200	REASONING BY ANALOGY
02300		
02400		Make up a description D(A) for figure A
02500		Make up a description D(C) for figure C
02600		Change D(A) so that it describes figure B, ie T(D(A))=D(B)
02700			Make a description for the way that D(A) was changed to D(B)
02800		Use D(T) to change D(C)
02900	
03000	children use schematic descriptions to represent geometric information
03100		folded-out cube drawing vs perspective drawing
03200	children's drawings are nearer to internal representation
03300		face is a square
03400		each face meets four others
03500		all plane angles are right angles
03600		each vertex meets 3 faces
03700		opposite edges on faces are parallel
03800	perspective drawings are nearer to external world
03900	We might observe that the child's drawings are closer to the internal
04000	representation, the adult's to the raw image.  The adult's has utility
04100	in being able to go through the perceptual mechanism to communicate
04200	to the internal representation.
04300		this is a good way of communicating with the interior representation
04400		by way of simulating the external world
04500	
04600	LEARNING STRUCTURAL MODELS
04700	discussion of the pass-oriented model of human visual perception
04800		not entirely wrong, or useless
04900		introduces HETERARCHY
05000	leads in from Gestalt; what is not a sum of its parts?
05100	computational theory Perceptrons
05200	
05300	Guzman
05400	Rattner
05500	Learning
05600		primary question what to remember
05700		learning is not separate from other intelligent activity
05800	
05900	do not attempt unsound approaches to learning:
06000		learning based not on bookkeeping, but exploring structure
06100	learning to learn requires describing processes and manipulating
06200		such descriptions
06300	
06400	Piaget's conservation experiments
06500		model for the performance of the non-conservation child
06600	
06700		A scenario for considering descriptions for the child in
06800		the egg experiment.  
06900			QUANTITATIVE
07000				SPATIAL
07100					EXTENT means more
07200					SPARSENESS means less
07300				NUMERICAL
07400					counting
07500					one-one correspondence
07600			HISTORICAL
07700				IDENTITY  none added or taken away
07800				REVERSIBILITY  spreading out is reversible
07900	
08000		quantitative seems inconsistent, HISTORICAL SEEMS CONSISTENT
08100		
08200	[ASIDE, I suppose that the maturing is actually in coming up with
08300	these sophisticated descriptions]
08400	
08500		the secret of learning often lies in the discovery of descriptions 
08600		that emphasize the "essential" aspects of things or events, and omit
08700		or subjugate the "accidental" features.
08800	
08900	parameter modification
09000		severe limits on class of things learnable in this way
09100		end up only with coefficients, not a symbolic analysis
09200			which another program might use.
09300		alternative for game-playing
09400			instead of returning a low numerical value for a position,
09500			return a description of why the position is bad.
09600			Then the plausible-move generator can look for moves
09700			which defend that square or pin attackers.
09800			Or return a description of why the move is good to look
09900			for enemy replies.
10000		misconception about the significance of trial and error
10100			many small qualitative changes to procedures
10200		[I doubt whether multi-layer devices are interesting without
10300		modularity]
10400	Winston
10500		network of objects, relations, and relations between relations
10600		specially chosen examples and counter-examples
10700		if counter-example     "near-miss"
10800			note the difference
10900			amend description to reject an addition
11000				or require a deletion
11100		if example
11200			note the difference
11300			amend description to allow the difference
11400				if substitution then generalize to smallest class
11500					containing both
11600	
11700		relations between relations are included
11800		grouping
11900			
     

00100	robots will force planning and organization of the manufacturing process
00200	to establish modularity
     

00100	Lindbom, Unimation, 2nd Int Symp on Indust Robots, p129
00200	short runs, manual labor
00300	long runs, special-purpose automation
00400	programmibility for short to medium production runs
00500	memory size-a few hundred steps
00600	branching and control
00700	find less expensive to have extra degree of freedom than to make special
00800		purpose device, or move production machinery
00900	accuracy .050".  greater accuracy possible using slides and guides
01000	
01100	advantages of robots in automation
01200	
01300	a)  direct sensor input from tools in modes not natural for humans
01400	b)  high data rate from sensors to control to effectors
01500		Humans are
01600		faster when information can be input to their visual or
01700		auditory systems which are highly parallel, but much information
01800		cannot be directly input.
01900	To bring about a transfer of technology from the laboratory to pilot
02000	production, several concurrent phases are necessary:
02100		systematize hardware (cost conscious)
02200			Scheinman arm
02300			sensor study
02400			standard interface and pan/tilt for visual devices
02500			adopt commercial visual hardware
02600		systematize software and interaction
02700			hand/eye system
02800			drawing program
02900			experience with low/cost graphics
03000		ease of problem specification
03100			visual representation
03200			geometric editor
03300			visual input
03400			perceptual strategies
03500		standardize economical computer configuration
03600			alternative is de facto standards at lower level
03700			powerful force for guiding manufacturers of minis
03800		provide powerful modules to broaden engineering choices
03900		design inherent reliability.
04000			continuous self-calibration
04100			disaster detection and contingency planning
04200			wide latitude in tolerances
04300			low incremental cost in quality control
04400			continuous monitoring of function and product quality
04500	
04600	A plant would normally have a central time-sharing system which would
04700	monitor and schedule operations of machines and subsystems.  That
04800	provides a natural subdivision of abilities between the small computers
04900	which would control one or more machines, and the central system which
05000	would provide file storage and software support for large programs.
05100	Thus, we would find that the central computer would support:
05200		interactive job specification
05300			mechanical computer-aided design (CAMD)
05400		strategies
05500		complex vision for recovery (interrupt basis from minis)
05600	while the small machines would have, in addition to the arm control
05700	and contingency planning described above:
05800		visual feedback prediction and verification (Gill)
05900		edge and line finder (Hueckel)
06000		corner finder (Gill)
06100		region finder (Baumgart)
06200		color regions
06300		2-D template matching of shape
06400		access to large machine for contingency
06500	overall significance of information sciences in industry
06600		batch production
06700		control of scheduling, resource allocation, flow routing
06800		commonality of design
06900			find common fabrication and assembly operations
07000			find more common components
07100		increased understandibility and communication
07200			availibility of information
07300				keep track of delayed effects of design decisions
07400				cuts cost of preparation and transmission
07500				increased accessibility of information